.LOG

10:29 PM, 12/28/2018
Add:		Keyboard shortcuts for zooming in, out, and resetting to 100%

3:03 PM, 1/21/2019
Change:		rpgSprite SWF command editor - You can now drag to rearrange the stored order of the SWF variables.

9:06 PM, 4/18/2019
Change:		loadSwf now has noCollide set to "true" by default

6:11 PM, 4/20/2019
Change:		added a collision check to rpgSprite to detect if it overlaps the player when it spawns and temporarily stops colliding until the overlap stops.

6:07 PM, 4/27/2019
Add:			Database's startingPlace:  Added a button to move the player off-screen
Change:		Database's startingPlace:  When updating the player's position, the image slides from the old location to the new location.  This is intended to clearly show what is happening when you click the "move off-screen" button, in a visual way.

1:34 PM, 4/28/2019
Fix:			The cursor no longer gets "stuck" when dragging out of the map or chipset  (map editor + collision editor)

7:47 PM, 4/30/2019
Change:		rpgSprite editor "event" comment defaults to "ROOT" container, because listening for events within COMMON doesn't seem to work for some reason.

10:27 PM, 5/4/2019
Fix:			rpgSprite.  Fixed an edge case where reverting (rewinding) a script that referred to a sprite that's currently hidden by a flag, would stall, preventing options from being displayed for any selected command from that point on. The solution was to delete dummy-sprites and then re-create them instead of attempting to restore their starting appearance. (even though that should theoretically work)

7:01 PM, 5/6/2019
Fix:			rpgSprite.  Fixed a glitch where some on-map sprites would mistakenly be added to the dummy-sprites list upon selecting a script command, and then removed when selecting another script command.

10:15 AM, 5/12/2019
Fix:			The hit-box of onScreen and offScreen detection was positioned wrong.  (halfway up the screen)

8:41 PM, 5/16/2019
Change:		Can drag-and-drop a saved-game .txt file onto game_test.exe to load that saved-game

9:35 AM, 10/23/2019
Change:		skipReplay.swf  Now responds to "replay" and "skip" properties.  Also responds to initial "reply" property as "replay" (Because it has been a common typo)
													Hides the "skip" button if multiple teleports are detected.
													Resolves absolute and relative level paths exactly the same way that "teleport" commands do.  (copied code)
Change:		rpgSprite editor.		"teleport" command editor can now display a true preview of any transition effect.

12:50 PM, 10/27/2019
Change:		rpgSprite "teleport" command editor.  Now uses the existing map_pane instead of making another one on top of it.

2:18 PM, 11/28/2019
Change:		sprite editors are no longer loaded using the ScrollPane component, and now use my imageLoader component instead.
						I wasn't scrolling the entire editor anyway.  Scrolling would look ugly, and be akward to use.  The editors have always been designed to accomodate the parent-editor anyway.  They're like the SWF add-ons for my games. The add-ons know about the game, the game does not know about the add-ons.

9:41 PM, 12/28/2019
Fix:			rpgSprite "while" loops now resume the main script instead of aborting everything when their inner-scripts contain nothing/are all comments
Fix:			rpgSprite "wait" command's "promise" mode can now wait for SPRITES.mySprite.talk.promise / this.talk.promise
Change:		Fully revised how the entire script system works to avoid creating an endless call-stack which can cause Flash to loop-panic
Fix:			loadGame removes previous permSwf BEFORE loading+replacing the saved RAM object, so that permSwf doesn't accidentally get cleared after the load

10:13 PM, 1/2/2020
Fix:			skipReplay.swf  Now searches for levels upon init.  Now ignores un-spawned sprites when searching for teleports.

9:25 PM, 1/10/2020
Change:		rpgSprite moveRelative,moveAbsolute command can now resolve instantly when their durations are 0
Change:		rpgSprite move commands resolve instantly instead of waiting 1ms

2:41 PM, 1/21/2020
Add:			cameraTrap.swf
Change:		"swf" command now automatically converts passed variables to implied values
	(this MIGHT break a ton of stuff... or it might simply do what everything already expects)
	(the pokemon game might not like this?)
	(not yet clear how this will affect display components like choice.swf )
Change:		textbox.swf will choose to display booleans, numbers, and null  (but not undefined)
Change:		textThought.swf will choose to display booleans, numbers, and null  (but not undefined)
Change:		textBaloon.swf will choose to display booleans, numbers, and null  (but not undefined)

11:51 PM, 2/3/2020
Add:			persistent_textbox.swf

10:46 PM, 2/6/2020
Change:		"swf" command now passes data to loaded SWF file twice. Once after load (for convenience), and once after frame-1 runs (for legacy compatibility)
					Internal linkage movieClips only receive data once, same as before.
Fix:			"swf" command now is able to call loaded SWF file's start() function. (was broken before)

10:07 PM, 3/3/2020
Add:			GameEditor now loads "updateSprites.swf" SWF files for each type of sprite.

12:15 AM, 3/27/2020
Change:		follower.swf can now copy the appearance of COMMON sprites
Fix:			"if" script command will now compare implied values as well as literal values.  ex: "false" === false

9:21 PM, 3/30/2020
Add:			loading and saving the game now fires "loadGame" and "saveGame" events
Change:		loadSave.swf now fully uses the ROOT loading and saving functions instead of using duplicate code
Change:		loading a saved game now re-runs all COMMON "auto" scripts		(Pokemon game needs to be updated)

6:25 AM, 4/7/2020
Change:		ROOT.swfLoader now evaluates SWF data settings with nestedEval() before storing. This preserves the values when local temporary sprite variables are used.
Change:		swf command passes a reference to the current sprite to the new ROOT.swfLoader
Change:		follower.swf will default to following the player when previous follower cannot be found

7:10 PM, 4/11/2020
Change:		rpgSprite's now detect forced overlapping with the player and disables collision during that time, to prevent "trapping" the player

12:29 AM, 4/12/2020
Change:		"move" command now fires "onMoveScriptFinish" instead of "onMoveFinish"
Change:		"moveRelative" and "moveAbsolute" commands now fire "onMoveFinish" when they complete
Change:		rpgSprite's "noCollide" is now a property, so that auto overlap collision-disable can detect when outside code changes its intended value at any time between events

8:45 PM, 6/23/2020
Change:		Loading a saved game now clears the HUD

1:56 PM, 7/12/2020
Change:		player sprite now has collisionAdd() and collisionRemove() functions
					player sprite reacts when scrolling mode changes
Change:		"scroll" sprite now uses EventClip class
					"scroll" sprite announces "change_mode" event
					"scroll" sprite allows "loop" scroll mode
Change:		map3 system now has scroll-panels added to the map edges for looping scrolling

11:18 PM, 8/4/2020
Change:		On-map rpgSprites can now react to "leaveMap"  (synchronous commands only)

8:28 PM, 8/6/2020
Change:		game_mc tells the map to use scroll-panels, since they are now optional and OFF by default.

3:02 PM, 8/29/2020
Add:			Sprite scripts can send an output value using this.output
					this.output gets returned as its promise's resolved value,  and stored directly within the promise as this.waitPromise.output.
						So... Scripts can call another script via function-call and store a reference to its returned promise, and then simply read the promise's .output property.
Add:			Sprite scripts add their promises to their event objects as evt.promise
						So... Code can trigger a script using an event, and then wait for that script to finish using evt.promise... as well as reading its output value.

9:31 PM, 9/2/2020
Fix:			"pause" command now waits 1 frame before resuming script, so that code has time to respond to the change
						Specifically, rpgSprite won't know it's paused until it checks 1 frame later. Animation misbehaves otherwise.

1:06 PM, 9/29/2020
Add:			zincFullScreen.as

9:58 PM, 10/3/2020
Add:			overlay_fullScreen

8:41 PM, 10/5/2020
Add:			Added ROOT.tempContainers which is a list of all movieClips that get removed upon teleport.
Change:		game_mc now uses this list to remove those clips
Change:		SWF command uses this list to figure out whether to check if the current level changed during the SWF's animation.  SWF's placed in non-level parents don't need to check this.
Change:		ROOT.swfLoader uses this list to identify "tempContainers"

9:15 PM, 10/5/2020
Fix:			rpgScriptSystem  Now correctly detects when the level unloads while waiting for an asynchronous command and interrupts the script
Change:		rpgSprite no longer fires its auto() script when it is a COMMON sprite.  Regular level sprites will still call their own auto() script.
Change:		COMMON now manually fires all auto() scripts for COMMON sprites instead of those sprites running it themselves.

1:00 AM, 10/6/2020
Change:		re-wrote "while" rpgSprite script command.  Maybe faster?  Maybe more consistent speed?  Seems slightly less stable.

9:49 PM, 10/7/2020
Add:			"appearance" command can now change the pose without changing the direction.

10:17 PM, 10/7/2020
Add:			setKeys.as can now position its keyboard window anywhere, based on x and y settings.
